Este projeto realiza uma análise exploratória detalhada dos dados de saneamento dos diversos estados do Brasil. O objetivo principal foi explorar a relação entre a população atendida com serviços de abastecimento de água e esgotamento sanitário, levando em conta também as diferenças demográficas entre os estados.
O propósito deste projeto é conduzir um exame minucioso das condições de saneamento no Brasil, utilizando técnicas avançadas de visualização de dados para identificar padrões e disparidades. Um foco especial foi dado à criação de um gráfico de dispersão que ilustra a correlação entre a proporção da população atendida com serviços de abastecimento de água e esgotamento sanitário. Neste gráfico, os estados são diferenciados por cores, e o tamanho dos pontos indica a população do estado. Análises adicionais, principalmente gráficas, foram realizadas para fornecer mais insights.
Os dados para este projeto foram obtidos da Confederação Nacional de Municípios (CNM) (https://www.cnm.org.br) para o ano de 2019, os quais oferecem uma visão abrangente das condições de saneamento nos estados brasileiros. A qualidade e relevância dos dados são fundamentais para a robustez da análise.
O projeto seguiu uma abordagem metódica passo a passo para garantir a transparência e reprodutibilidade da análise. Cada fase, desde o pré-processamento até a visualização dos dados, foi meticulosamente documentada, proporcionando um entendimento claro das técnicas utilizadas. Ao detalhar os procedimentos adotados, este trabalho serve como recurso valioso para aqueles que desejam replicar ou expandir as descobertas.
A análise exploratória trouxe à luz insights sobre as desigualdades nas condições de saneamento entre os estados do Brasil. O gráfico de dispersão demonstrou variações significativas no acesso à infraestrutura de saneamento, com diferenças notáveis entre regiões. As análises gráficas adicionais ajudaram a identificar padrões e correlações que explicam as disparidades observadas no saneamento.
Em resumo, este projeto proporciona uma investigação abrangente das condições de saneamento no Brasil, empregando técnicas sofisticadas de visualização para descobrir informações cruciais. Com metodologias detalhadas e explicações transparentes, ele atua como um recurso importante para pesquisadores, formuladores de políticas e stakeholders comprometidos com a melhoria da infraestrutura de saneamento e o enfrentamento das disparidades regionais. Através de análises continuadas e ações baseadas em dados, progressos podem ser alcançados para garantir acesso equitativo às instalações de saneamento para todos os brasileiros.
Durante o desenvolvimento deste estudo, foi elaborado um dicionário de variáveis simplificado, contendo apenas as variáveis empregadas no projeto, disponível no arquivo “Dicionario_Variaveis.csv”. Adicionalmente, o dicionário de dados completo, que inclui a descrição de mais de 150 variáveis do dataset original, pode ser acessado no arquivo “Glossario_Informacoes_AE2019.pdf”.
library(data.table)
library(dplyr)
library(ggplot2)
library(plotly)
library(ggpubr)
library(corrplot)
library(gridExtra)
library(jpeg)
library(patchwork)
df <- fread('../data/planilha_organizada.csv', skip = 8)
head(df)
## V1 V2 V3
## <char> <char> <char>
## 1: Quantidade de municípios atendidos com abastecimen
## 2:
## 3: - município município
## 4: - GE005 GE05a
## 5: N - Norte
## 6: Acre (AC) 22 22
## V4
## <char>
## 1: Aonde atende com abastecimento de água
## 2:
## 3: -
## 4: GE019
## 5:
## 6:
## V5
## <char>
## 1: Quantidade de sedes municipais atendidas com abasteciment
## 2:
## 3: sede
## 4: GE008
## 5:
## 6: 22
## V6
## <char>
## 1: Quantidade localidades atendidas com abastecimento de água
## 2:
## 3: localidade
## 4: GE010
## 5:
## 6: 5
## V7 V8 V9
## <char> <char> <char>
## 1: MUNICÍPIOS ATENDIDOS
## 2: Com delegação em vigor Com delegação vencida Sem delegação
## 3: município município município
## 4: GE001 GE002 GE003
## 5:
## 6: 22
## V10 V11 V12
## <char> <char> <char>
## 1: MUNICÍPIOS NÃO ATENDIDOS
## 2: Com delegação em vigor Com delegação vencida Sem delegação
## 3: município município município
## 4: GE025 GE026 GE027
## 5:
## 6:
## V13
## <char>
## 1: Ano de vencimento da delegação
## 2:
## 3: ano
## 4: GE017
## 5:
## 6:
## V14
## <char>
## 1: Quantidade de municípios atendidos com esgotamento
## 2:
## 3: município
## 4: GE05b
## 5:
## 6: 1
## V15
## <char>
## 1: Aonde atende com esgotamento sanitário
## 2:
## 3: -
## 4: GE020
## 5:
## 6:
## V16
## <char>
## 1: Quantidade de sedes municipais atendidas com esgotamento
## 2:
## 3: sede
## 4: GE009
## 5:
## 6: 1
## V17 V18
## <char> <char>
## 1: Quantidade de localidades atendidas com esgotamento MUNICÍPIOS ATENDIDOS
## 2: Com delegação em vigor
## 3: localidade município
## 4: GE011 GE014
## 5:
## 6: 0 1
## V19 V20 V21
## <char> <char> <char>
## 1: MUNICÍPIOS NÃO ATENDIDOS
## 2: Com delegação vencida Sem delegação Com delegação em vigor
## 3: município município município
## 4: GE015 GE016 GE028
## 5:
## 6: 21
## V22 V23 V24
## <char> <char> <char>
## 1: Ano de vencimento da delegação
## 2: Com delegação vencida Sem delegação
## 3: município município ano
## 4: GE029 GE030 GE018
## 5:
## 6:
## V25 V26
## <char> <char>
## 1: MUNICÍPIOS ATENDIDOS COM
## 2: População residente total, segundo o IBGE População residente urbana
## 3: habitante habitante
## 4: GE12a GE06a
## 5:
## 6: 881.935 638.685
## V27 V28
## <char> <char>
## 1: MUNICÍPIOS ATENDIDOS COM
## 2: População residente total, segundo o IBGE População residente urbana
## 3: habitante habitante
## 4: GE12b GE06b
## 5:
## 6: 407.319 373.994
## V29 V30 V31 V32 V33
## <char> <char> <char> <char> <char>
## 1: Total (direta + indireta) DIRETA
## 2: Total Água Esgoto
## 3: empregado R$/ano R$/ano R$/ano R$/ano
## 4: FN026 FN005 FN001 FN002 FN003
## 5:
## 6: 890 73.604.407,39 73.028.994,82 64.063.550,82 8.965.444,00
## V34 V35 V36 V37
## <char> <char> <char> <char>
## 1: Indireta
## 2: Água Exportada Esgoto bruto importado
## 3: R$/ano R$/ano R$/ano R$/ano
## 4: FN007 FN038 FN004 FN006
## 5:
## 6: 0,00 0,00 575.412,57 35.087.386,34
## V38 V39 V40 V41
## <char> <char> <char> <char>
## 1: Total (DTS) DESPESAS DE EXPLORACÃO (DEX)
## 2: Total (DEX) Pessoal próprio
## 3: R$/ano R$/ano R$/ano R$/ano
## 4: FN008 FN017 FN015 FN010
## 5:
## 6: 194.126.509,00 95.656.551,33 80.705.515,47 41.865.198,79
## V42 V43 V44
## <char> <char> <char>
## 1:
## 2: Produtos químicos Energia elétrica Serviços de terceiros
## 3: R$/ano R$/ano R$/ano
## 4: FN011 FN013 FN014
## 5:
## 6: 14.107.719,98 22.096.302,28 2.142.614,68
## V45 V46
## <char> <char>
## 1:
## 2: Água importada (bruta ou tratada) Esgoto bruto exportado
## 3: R$/ano R$/ano
## 4: FN020 FN039
## 5:
## 6: 0,00 0,00
## V47 V48
## <char> <char>
## 1:
## 2: Fiscais ou tributárias computadas na DEX Outras despesas de exploração
## 3: R$/ano R$/ano
## 4: FN021 FN027
## 5:
## 6: 493.679,74 0,00
## V49 V50 V51
## <char> <char> <char>
## 1: SERVIÇO DA DÍVIDA - PARCELA 1 DE 2
## 2: Juros e encargos Variação cambial Total
## 3: R$/ano R$/ano R$/ano
## 4: FN035 FN036 FN016
## 5:
## 6: 0,00 0,00 0,00
## V52
## <char>
## 1: Depreciação, amortização e provisão
## 2:
## 3: R$/ano
## 4: FN019
## 5:
## 6: 1.872.809,57
## V53 V54 V55 V56
## <char> <char> <char> <char>
## 1: Fiscais ou tributárias não incidentes na DEX Outras despesas
## 2:
## 3: R$/ano R$/ano R$/ano R$/ano
## 4: FN022 FN028 FN034 FN037
## 5:
## 6: 0,00 13.078.226,29 0,00 0,00
## V57 V58 V59 V60
## <char> <char> <char> <char>
## 1: SEGUNDO O DESTINO
## 2: Despesas Capitalizáveis Abastecimento de Água Esgotamento Sanitário Outros
## 3: R$/ano R$/ano R$/ano R$/ano
## 4: FN018 FN023 FN024 FN025
## 5:
## 6: 0,00 45.226,85 0,00 0,00
## V61 V62 V63 V64 V65
## <char> <char> <char> <char> <char>
## 1: SEGUNDO A ORIGEM Total SEGUNDO O DESTINO
## 2: Próprios Onerosos Não onerosos Despesas Capitalizáveis
## 3: R$/ano R$/ano R$/ano R$/ano R$/ano
## 4: FN030 FN031 FN032 FN033 FN041
## 5:
## 6: 45.226,85 0,00 0,00 45.226,85 0,00
## V66 V67 V68 V69 V70
## <char> <char> <char> <char> <char>
## 1: SEGUNDO A ORIGEM
## 2: Abastecimento de Água Esgotamento Sanitário Outros Próprios Onerosos
## 3: R$/ano R$/ano R$/ano R$/ano R$/ano
## 4: FN042 FN043 FN044 FN045 FN046
## 5:
## 6: 0,00 0,00 0,00 0,00 0,00
## V71 V72 V73 V74
## <char> <char> <char> <char>
## 1: Total SEGUNDO O DESTINO
## 2: Não onerosos Despesas Capitalizáveis Abastecimento de Água
## 3: R$/ano R$/ano R$/ano R$/ano
## 4: FN047 FN048 FN051 FN052
## 5:
## 6: 0,00 0,00 0,00 18.613.146,91
## V75 V76 V77 V78 V79
## <char> <char> <char> <char> <char>
## 1: SEGUNDO A ORIGEM
## 2: Esgotamento Sanitário Outros Próprios Onerosos Não onerosos
## 3: R$/ano R$/ano R$/ano R$/ano R$/ano
## 4: FN053 FN054 FN055 FN056 FN057
## 5:
## 6: 2.597.554,98 0,00 510.489,25 14.223.060,80 6.477.151,84
## V80 V81
## <char> <char>
## 1: Total População total atendida com abastecimento de água
## 2:
## 3: R$/ano habitante
## 4: FN058 AG001
## 5:
## 6: 21.210.701,89 423.469
## V82
## <char>
## 1: População urbana atendida com abastecimento de água
## 2:
## 3: habitante
## 4: AG026
## 5:
## 6: 408.163
## V83 V84 V85 V86
## <char> <char> <char> <char>
## 1: Total (ativas + inativas) Ativas Ativas micromedidas Total (ativas)
## 2:
## 3: ligação ligação ligação economia
## 4: AG021 AG002 AG004 AG003
## 5:
## 6: 160.454 114.200 63.021 118.276
## V87 V88 V89 V90 V91
## <char> <char> <char> <char> <char>
## 1: Micromedidas Residenciais Residencias micromedidas Produzido Macromedido
## 2:
## 3: economia economia economia 1.000 m³/ano 1.000 m³/ano
## 4: AG014 AG013 AG022 AG006 AG012
## 5:
## 6: 69.121 112.376 65.613 59.815,77 30.704,28
## V92 V93 V94 V95
## <char> <char> <char> <char>
## 1: De serviço Tratada importado Bruta exportado Tratada exportado
## 2:
## 3: 1.000 m³/ano 1.000 m³/ano 1.000 m³/ano 1.000 m³/ano
## 4: AG024 AG018 AG017 AG019
## 5:
## 6: 1.310,03 0,00 0,00 0,00
## V96 V97 V98 V99
## <char> <char> <char> <char>
## 1: Tratado em ETA(s) Tratada por simples desinfecção Fluoretada Micromedido
## 2:
## 3: 1.000 m³/ano 1.000 m³/ano 1.000 m³/ano 1.000 m³/ano
## 4: AG007 AG015 AG027 AG008
## 5:
## 6: 54.977,40 4.819,89 0,00 14.930,44
## V100 V101 V102
## <char> <char> <char>
## 1: Consumido Faturado Micromedido nas economias residenciais ativas
## 2:
## 3: 1.000 m³/ano 1.000 m³/ano 1.000 m³/ano
## 4: AG010 AG011 AG020
## 5:
## 6: 22.986,44 22.986,44 12.925,22
## V103 V104 V105
## <char> <char> <char>
## 1: População total atendida com esgotamento sanitário
## 2:
## 3: km 1.000 habitante
## 4: AG005 AG028 ES001
## 5:
## 6: 2.413,59 43.940,47 88.199
## V106
## <char>
## 1: População urbana atendida com esgotamento sanitário
## 2:
## 3: habitante
## 4: ES026
## 5:
## 6: 87.950
## V107 V108 V109 V110 V111
## <char> <char> <char> <char> <char>
## 1: Total (ativas + inativas) Ativas Total (ativas) Residenciais Coletado
## 2:
## 3: ligação ligação economia economia 1.000 m³/ano
## 4: ES009 ES002 ES003 ES008 ES005
## 5:
## 6: 56.877 23.075 27.055 24.915 4.472,62
## V112 V113
## <char> <char>
## 1: Tratado Bruto exportado
## 2:
## 3: 1.000 m³/ano 1.000
## 4: ES006 ES012
## 5:
## 6: 4.472,62 0,00
## V114 V115
## <char> <char>
## 1: Bruto exportado tratado nas instalações do importador Bruto importado
## 2:
## 3: 1.000 1.000 m³/ano
## 4: ES015 ES013
## 5:
## 6: 0,00 0,00
## V116 V117 V118
## <char> <char> <char>
## 1: Bruto importado tratado nas instalações do importador Faturado
## 2:
## 3: 1.000 m³/ano 1.000 m³/ano km
## 4: ES014 ES007 ES004
## 5:
## 6: 0,00 4.472,62 548,34
## V119 V120 V121 V122 V123
## <char> <char> <char> <char> <char>
## 1: Paralisações Duração Economias ativas atingidas
## 2:
## 3: 1.000 - paralisação/a hora/ano economia/an
## 4: ES028 QD001 QD002 QD003 QD004
## 5:
## 6: 1.049,67 496 5.121 1.310.244
## V124 V125 V126 V127 V128
## <char> <char> <char> <char> <char>
## 1: Interrupções Duração Economias ativas atingidas Obrigatórias Analisadas
## 2:
## 3: interrupção/a hora/ano economia/an amostra/ano amostra/ano
## 4: QD021 QD022 QD015 QD020 QD006
## 5:
## 6: 9.259 107.592,00 170.082.884 107.484 105.226
## V129 V130 V131 V132
## <char> <char> <char> <char>
## 1: Resultados fora do padrão Obrigatórias Analisadas Resultados fora do padrão
## 2:
## 3: amostra/ano amostra/ano amostra/ano amostra/ano
## 4: QD007 QD019 QD008 QD009
## 5:
## 6: 1.519 107.484 20.774 11.963
## V133 V134 V135 V136
## <char> <char> <char> <char>
## 1: Obrigatórias Analisadas Resultados fora do padrão Extravasamentos
## 2:
## 3: amostra/ano amostra/ano amostra/ano extravasamentos/ano
## 4: QD028 QD026 QD027 QD011
## 5:
## 6: 10.614 5.668 453
## V137 V138 V139
## <char> <char> <char>
## 1: Duração Reclamações ou solicitações de serviços Serviços executados
## 2:
## 3: hora/ano reclamações/ serviço/ano
## 4: QD012 QD023 QD024
## 5:
## 6: 28.399 23.554
## V140 V141 V142 V143 V144 V145
## <char> <char> <char> <char> <char> <char>
## 1: Tempo total de execução dos serviços
## 2:
## 3: hora/ano 1.000 1.000 1.000 1.000 1.000
## 4: QD025 BL001 BL002 BL003 BL004 BL005
## 5:
## 6: 249.216,00
## V146 V147 V148 V149 V150 V151 V152 V153 V154 V155 V156
## <char> <char> <char> <char> <char> <char> <char> <lgcl> <lgcl> <lgcl> <lgcl>
## 1: NA NA NA NA
## 2: NA NA NA NA
## 3: 1.000 1.000 1.000 1.000 1.000 1.000 1.000 NA NA NA NA
## 4: BL006 BL007 BL008 BL009 BL010 BL011 BL012 NA NA NA NA
## 5: NA NA NA NA
## 6: NA NA NA NA
Como observado, o dataset contém várias variáveis (colunas) e cabeçalhos múltiplos, complicando sua visualização.
No passo seguinte, os cabeçalhos foram ajustados e os nomes das colunas foram alterados para refletir os dados da linha 4. A descrição das variáveis estava na primeira linha e foi utilizada para a elaboração do dicionário de variáveis, que encontra-se disponível junto dos arquivos desse projeto (formato csv), e então também foi excluída.df <- rbind(rbind(df[4,],df[1,]), df[5:length(df$V1),])
df[1,1] <- "estado"
colnames(df) <- sapply(df[1,], as.character)
df <- df[-c(1,2),]
df <- df %>%
select(estado, GE05a, GE05b, FN002, FN003, AG001, AG007, AG010, ES001, ES005, ES006)
df[1,4] <- "Receitas operacionais diretas com agua"
df[1,5] <- "Receitas operacionais diretas com esgoto"
df[1,7] <- "Volume de agua tratada em ETAs"
df[1,8] <- "Volume de agua consumida"
df[1,10] <- "Volume de esgoto coletado"
df[1,11] <- "Volume de esgoto tratado"
head(df)
## estado GE05a GE05b FN002
## <char> <char> <char> <char>
## 1: N - Norte Receitas operacionais diretas com agua
## 2: Acre (AC) 22 1 64.063.550,82
## 3: Amapá (AP) 16 6 56.785.323,26
## 4: Amazonas (AM) 25 3 472.271.251,57
## 5: Pará (PA) 86 17 377.845.477,56
## 6: Rondônia (RO) 48 10 170.501.396,71
## FN003 AG001
## <char> <char>
## 1: Receitas operacionais diretas com esgoto
## 2: 8.965.444,00 423.469
## 3: 12.178.855,22 290.944
## 4: 55.426.612,20 2.584.829
## 5: 36.918.409,67 2.967.413
## 6: 8.482.892,89 818.865
## AG007 AG010 ES001
## <char> <char> <char>
## 1: Volume de agua tratada em ETAs Volume de agua consumida
## 2: 54.977,40 22.986,44 88.199
## 3: 60.810,07 17.394,68 59.574
## 4: 196.716,84 86.277,83 441.358
## 5: 138.507,44 159.523,15 405.270
## 6: 74.025,25 43.427,38 103.461
## ES005 ES006
## <char> <char>
## 1: Volume de esgoto coletado Volume de esgoto tratado
## 2: 4.472,62 4.472,62
## 3: 3.024,74 2.871,23
## 4: 19.754,57 19.544,57
## 5: 25.389,39 11.041,80
## 6: 3.989,32 3.073,45
dim(df)
## [1] 38 11
glimpse(df)
## Rows: 38
## Columns: 11
## $ estado <chr> "N - Norte", "Acre (AC)", "Amapá (AP)", "Amazonas (AM)", "Pará …
## $ GE05a <chr> "", "22", "16", "25", "86", "48", "15", "143", "355", "", "89",…
## $ GE05b <chr> "", "1", "6", "3", "17", "10", "3", "18", "58", "", "22", "168"…
## $ FN002 <chr> "Receitas operacionais diretas com agua", "64.063.550,82", "56.…
## $ FN003 <chr> "Receitas operacionais diretas com esgoto", "8.965.444,00", "12…
## $ AG001 <chr> "", "423.469", "290.944", "2.584.829", "2.967.413", "818.865", …
## $ AG007 <chr> "Volume de agua tratada em ETAs", "54.977,40", "60.810,07", "19…
## $ AG010 <chr> "Volume de agua consumida", "22.986,44", "17.394,68", "86.277,8…
## $ ES001 <chr> "", "88.199", "59.574", "441.358", "405.270", "103.461", "365.2…
## $ ES005 <chr> "Volume de esgoto coletado", "4.472,62", "3.024,74", "19.754,57…
## $ ES006 <chr> "Volume de esgoto tratado", "4.472,62", "2.871,23", "19.544,57"…
df$GE05a <- as.integer(df$GE05a)
df$GE05b <- as.integer(df$GE05b)
df$FN002 <- as.double(sub("\\,", ".", sub("\\.", "", sub("\\.", "", sub("\\.", "", df$FN002)))))
df$FN003 <- as.double(sub("\\,", ".", sub("\\.", "", sub("\\.", "", sub("\\.", "", df$FN003)))))
df$AG001 <- as.integer(sub("\\,", ".", sub("\\.", "", sub("\\.", "", sub("\\.", "", df$AG001)))))
df$AG007 <- as.double(sub("\\,", ".", sub("\\.", "", sub("\\.", "", sub("\\.", "", df$AG007)))))
df$AG010 <- as.double(sub("\\,", ".", sub("\\.", "", sub("\\.", "", sub("\\.", "", df$AG010)))))
df$ES001 <- as.integer(sub("\\,", ".", sub("\\.", "", sub("\\.", "", sub("\\.", "", df$ES001)))))
df$ES005 <- as.double(sub("\\,", ".", sub("\\.", "", sub("\\.", "", sub("\\.", "", df$ES005)))))
df$ES006 <- as.double(sub("\\,", ".", sub("\\.", "", sub("\\.", "", sub("\\.", "", df$ES006)))))
df$regiao <- c(rep('Norte',9), rep('Nordeste',11), rep('Sudeste',6), rep('Sul',5), rep('Centro_Oeste',6), 'Brazil')
df_estadual <- df[-c(1,9,10,20,21,26,27,31,32,37,38),]
df_estadual
## estado GE05a GE05b FN002 FN003 AG001
## <char> <int> <int> <num> <num> <int>
## 1: Acre (AC) 22 1 64063551 8965444 423469
## 2: Amapá (AP) 16 6 56785323 12178855 290944
## 3: Amazonas (AM) 25 3 472271252 55426612 2584829
## 4: Pará (PA) 86 17 377845478 36918410 2967413
## 5: Rondônia (RO) 48 10 170501397 8482893 818865
## 6: Roraima (RR) 15 3 66628268 30019054 494697
## 7: Tocantins (TO) 143 18 382739565 114635296 1407463
## 8: Alagoas (AL) 89 22 481866324 105737460 2357068
## 9: Bahia (BA) 396 168 2642815114 948707100 11725988
## 10: Ceará (CE) 177 98 1171507477 473834115 5238334
## 11: Maranhão (MA) 167 18 541813830 190318367 3427119
## 12: Paraíba (PB) 210 54 642062222 246324125 2910101
## 13: Pernambuco (PE) 178 69 1341542878 390573480 7642886
## 14: Piauí (PI) 181 27 455499311 63483723 2357765
## 15: Rio Grande do Norte (RN) 163 63 620417502 132243256 2887371
## 16: Sergipe (SE) 75 12 521205947 110160093 1976498
## 17: Espírito Santo (ES) 77 67 839716890 368186803 3243410
## 18: Minas Gerais (MG) 812 651 4283310535 2486150246 17165390
## 19: Rio de Janeiro (RJ) 88 62 5252276374 2993824343 15603715
## 20: São Paulo (SP) 628 628 10827649481 9668012347 44006829
## 21: Paraná (PR) 396 225 3217344170 1862826385 10749898
## 22: Rio Grande do Sul (RS) 473 116 3681143736 515199578 9799440
## 23: Santa Catarina (SC) 291 74 1996277384 457099462 6382133
## 24: Distrito Federal (DF) 1 1 938573359 800649729 2985115
## 25: Goiás (GO) 242 87 1724865200 947746314 6195837
## 26: Mato Grosso do Sul (MS) 77 59 847221870 289899821 2374606
## 27: Mato Grosso (MT) 102 33 581922775 156731587 2787333
## estado GE05a GE05b FN002 FN003 AG001
## AG007 AG010 ES001 ES005 ES006 regiao
## <num> <num> <int> <num> <num> <char>
## 1: 54977.40 22986.44 88199 4472.62 4472.62 Norte
## 2: 60810.07 17394.68 59574 3024.74 2871.23 Norte
## 3: 196716.84 86277.83 441358 19754.57 19544.57 Norte
## 4: 138507.44 159523.15 405270 25389.39 11041.80 Norte
## 5: 74025.25 43427.38 103461 3989.32 3073.45 Norte
## 6: 35921.51 22912.62 365286 17147.36 17117.36 Norte
## 7: 56895.33 70562.71 464838 17835.93 17604.73 Norte
## 8: 124997.17 134980.95 679181 21921.20 19945.44 Nordeste
## 9: 729151.15 494395.79 5790656 269352.47 227716.03 Nordeste
## 10: 385118.73 263770.06 2290370 99789.28 90935.75 Nordeste
## 11: 174883.28 182036.19 813839 49070.93 21450.99 Nordeste
## 12: 204207.72 123869.09 1364157 61172.29 54690.97 Nordeste
## 13: 534867.98 280533.39 2669648 118196.52 89420.35 Nordeste
## 14: 135851.90 107459.10 512687 18060.38 16016.28 Nordeste
## 15: 80325.78 112214.79 895519 38602.64 37433.71 Nordeste
## 16: 157036.74 95903.71 482019 26612.75 26213.15 Nordeste
## 17: 326814.73 203625.62 2229294 121479.10 87216.01 Sudeste
## 18: 1402843.22 995033.43 15280408 800064.27 435892.21 Sudeste
## 19: 1909548.97 1253953.09 11072314 801816.63 498972.97 Sudeste
## 20: 3699024.17 2834016.02 41297168 2197681.03 1789393.38 Sudeste
## 21: 639479.31 550832.22 8324363 405988.29 405477.52 Sul
## 22: 863143.49 529154.50 3648316 168772.41 138696.54 Sul
## 23: 533942.11 392856.33 1795333 100409.77 94631.97 Sul
## 24: 227996.00 158200.00 2698062 129923.00 129923.00 Centro_Oeste
## 25: 355307.76 316820.74 3975006 180014.40 159802.28 Centro_Oeste
## 26: 93355.86 136660.51 1437203 60951.14 60854.86 Centro_Oeste
## 27: 208844.15 171952.07 1116813 65193.04 55704.38 Centro_Oeste
## AG007 AG010 ES001 ES005 ES006 regiao
df_estadual <- df_estadual %>%
mutate(
num_mun = c(22,16,62,144,52,15,139,102,417,184,217,223,185,224,
167,75,78,853,92,645,399,497,295,1,246,79,141),
populacao = c(894470,861773,4207714,8690745,1796460,631181,1590248,
3351543,14930634,9187103,7114598,4039277,9616621,3281480,
3534165,2318822,4064052,21292666,17366189,46289333,11516840,
11422973,7252502,3055149,7113540,2809394,3526220)
)
for (i in 1:length(df_estadual$GE05a)) {
if (df_estadual$GE05a[i] > df_estadual$num_mun[i]) {
print('Problem with GE05a')
print(df_estadual$estado[i])
}
if (df_estadual$GE05b[i] > df_estadual$num_mun[i]) {
print('Problem with GE05b')
print(df_estadual$estado[i])
}
}
## [1] "Problem with GE05a"
## [1] "Tocantins (TO)"
df_estadual[df_estadual$estado == "Tocantins (TO)"]
## estado GE05a GE05b FN002 FN003 AG001 AG007 AG010
## <char> <int> <int> <num> <num> <int> <num> <num>
## 1: Tocantins (TO) 143 18 382739565 114635296 1407463 56895.33 70562.71
## ES001 ES005 ES006 regiao num_mun populacao
## <int> <num> <num> <char> <num> <num>
## 1: 464838 17835.93 17604.73 Norte 139 1590248
for (i in 1:length(df_estadual$GE05a)) {
if (df_estadual$estado[i] == 'Tocantins (TO)') {
df_estadual$GE05a[i] <- 134
}
}
for (i in 1:length(df_estadual$AG001)) {
if (df_estadual$AG001[i] > df_estadual$populacao[i]) {
print('Problem with AG001')
print(i)
}
if (df_estadual$ES001[i] > df_estadual$populacao[i]) {
print('Problem with ES001')
print(i)
}
}
AG007_plot <- ggplot(data=df_estadual) +
geom_boxplot(mapping = aes(y=AG007/populacao)) +
ggtitle('AG007') +
ylim(0,0.1) +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text('none'),
axis.text.x = element_text('none'),
axis.text.y = element_text(size=9),
axis.ticks.x = element_blank(),
legend.position = 'none',
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
AG010_plot <- ggplot(data=df_estadual) +
geom_boxplot(mapping = aes(y=AG010/populacao)) +
ggtitle('AG010') +
ylim(0,0.1) +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text('none'),
axis.text.x = element_text('none'),
axis.text.y = element_text(size=9),
axis.ticks.x = element_blank(),
legend.position = 'none',
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
ES005_plot <- ggplot(data=df_estadual) +
geom_boxplot(mapping = aes(y=ES005/populacao)) +
ggtitle('ES005') +
ylim(0,0.1) +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text('none'),
axis.text.x = element_text('none'),
axis.text.y = element_text(size=9),
axis.ticks.x = element_blank(),
legend.position = 'none',
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
ES006_plot <- ggplot(data=df_estadual) +
geom_boxplot(mapping = aes(y=ES006/populacao)) +
ggtitle('ES006') +
ylim(0,0.1) +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text('none'),
axis.text.x = element_text('none'),
axis.text.y = element_text(size=9),
axis.ticks.x = element_blank(),
legend.position = 'none',
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
ggarrange(AG007_plot,
AG010_plot,
ES005_plot,
ES006_plot,
ncol = 2, nrow = 2)
for (i in 1:length(df_estadual$AG010)) {
if (df_estadual$AG010[i] > df_estadual$AG007[i]) {
print('Problem with AG010-AG007')
print(i)
}
if (df_estadual$ES005[i] > df_estadual$AG010[i]) {
print('Problem with ES005-AG010')
print(i)
}
if (df_estadual$ES006[i] > df_estadual$ES005[i]) {
print('Problem with ES006-ES005')
print(i)
}
}
## [1] "Problem with AG010-AG007"
## [1] 4
## [1] "Problem with AG010-AG007"
## [1] 7
## [1] "Problem with AG010-AG007"
## [1] 8
## [1] "Problem with AG010-AG007"
## [1] 11
## [1] "Problem with AG010-AG007"
## [1] 15
## [1] "Problem with AG010-AG007"
## [1] 26
df_estadual %>%
select(estado, AG007, AG010) %>%
slice(4, 7, 8, 11, 15, 26)
## estado AG007 AG010
## <char> <num> <num>
## 1: Pará (PA) 138507.44 159523.15
## 2: Tocantins (TO) 56895.33 70562.71
## 3: Alagoas (AL) 124997.17 134980.95
## 4: Maranhão (MA) 174883.28 182036.19
## 5: Rio Grande do Norte (RN) 80325.78 112214.79
## 6: Mato Grosso do Sul (MS) 93355.86 136660.51
for (i in 1:length(df_estadual$AG010)) {
if (df_estadual$AG010[i] > df_estadual$AG007[i]) {
temp <- df_estadual$AG010[i]
df_estadual$AG010[i] <- df_estadual$AG007[i]
df_estadual$AG007[i] <- temp
}
}
df_nacional <- df_estadual %>%
summarise(country = 'Brasil',
populacao = sum(populacao),
num_mun = sum(num_mun),
GE05a = sum(GE05a),
GE05b = sum(GE05b),
FN002 = sum(FN002),
FN003 = sum(FN003),
AG001 = sum(AG001),
AG007 = sum(AG007),
AG010 = sum(AG010),
ES001 = sum(ES001),
ES005 = sum(ES005),
ES006 = sum(ES006))
summary(df_estadual)
## estado GE05a GE05b FN002
## Length:27 Min. : 1.0 Min. : 1.0 Min. :5.679e+07
## Class :character 1st Qu.: 76.0 1st Qu.: 14.5 1st Qu.:4.639e+08
## Mode :character Median :134.0 Median : 54.0 Median :6.421e+08
## Mean :191.4 Mean : 96.0 Mean :1.637e+09
## 3rd Qu.:226.0 3rd Qu.: 80.5 3rd Qu.:1.861e+09
## Max. :812.0 Max. :651.0 Max. :1.083e+10
## FN003 AG001 AG007 AG010
## Min. :8.483e+06 Min. : 290944 Min. : 35922 Min. : 17395
## 1st Qu.:8.461e+07 1st Qu.: 2357416 1st Qu.: 135416 1st Qu.: 89817
## Median :2.463e+08 Median : 2967413 Median : 204208 Median : 158200
## Mean :8.694e+08 Mean : 6326093 Mean : 501171 Mean : 356827
## 3rd Qu.:6.579e+08 3rd Qu.: 7012510 3rd Qu.: 534405 3rd Qu.: 354838
## Max. :9.668e+09 Max. :44006829 Max. :3699024 Max. :2834016
## ES001 ES005 ES006 regiao
## Min. : 59574 Min. : 3025 Min. : 2871 Length:27
## 1st Qu.: 473428 1st Qu.: 20838 1st Qu.: 18575 Class :character
## Median : 1364157 Median : 61172 Median : 55704 Mode :character
## Mean : 4085198 Mean : 215803 Mean : 167264
## 3rd Qu.: 3173189 3rd Qu.: 149348 3rd Qu.: 134310
## Max. :41297168 Max. :2197681 Max. :1789393
## num_mun populacao
## Min. : 1.0 Min. : 631181
## 1st Qu.: 76.5 1st Qu.: 2932272
## Median :144.0 Median : 4064052
## Mean :206.3 Mean : 7842803
## 3rd Qu.:235.0 3rd Qu.: 9401862
## Max. :853.0 Max. :46289333
df_estadual <- df_estadual %>%
mutate(prop_mun_aten_abas_agua = GE05a / num_mun * 100,
prop_mun_aten_esgo_sani = GE05b / num_mun * 100,
rec_oper_dir_agua_mun_aten = FN002 / GE05a,
rec_oper_dir_esgo_mun_aten = FN003 / GE05b,
rec_oper_dir_agua_pop_aten = FN002 / AG001,
rec_oper_dir_esgo_pop_aten = FN003 / ES001,
prop_pop_aten_abas_agua = AG001 / populacao * 100,
prop_vol_agua_trat_pop_aten = (AG007 * 1000) / AG001,
prop_vol_agua_cons_pop_aten = (AG010 * 1000) / AG001,
prop_pop_aten_esgo_sani = ES001 / populacao * 100,
prop_vol_esgo_cole_pop_aten = (ES005 * 1000) / AG001,
prop_vol_esgo_trat_pop_aten = (ES006 * 1000) / AG001,
prop_vol_agua_cons_agua_trat = AG010 / AG007 * 100,
prop_vol_esgo_cole_agua_cons = ES005 / AG010 * 100,
prop_vol_esgo_cole_agua_cons = ES005 / (AG010) * 100,
prop_vol_esgo_trat_esgo_cole = ES006 / ES005 * 100,
prop_vol_esgo_trat_agua_cons = ES006 / AG010 * 100,
prop_vol_esgo_trat_agua_cons = ES006 / (AG010) * 100)
df_nacional <- df_nacional %>%
mutate(prop_mun_aten_abas_agua = GE05a / num_mun * 100,
prop_mun_aten_esgo_sani = GE05b / num_mun * 100,
rec_oper_dir_agua_mun_aten = FN002 / GE05a,
rec_oper_dir_esgo_mun_aten = FN003 / GE05b,
rec_oper_dir_agua_pop_aten = FN002 / AG001,
rec_oper_dir_esgo_pop_aten = FN003 / ES001,
prop_pop_aten_abas_agua = AG001 / populacao * 100,
prop_vol_agua_trat_pop_aten = (AG007 * 1000) / AG001,
prop_vol_agua_cons_pop_aten = (AG010 * 1000) / AG001,
prop_pop_aten_esgo_sani = ES001 / populacao * 100,
prop_vol_esgo_cole_pop_aten = (ES005 * 1000) / AG001,
prop_vol_esgo_trat_pop_aten = (ES006 * 1000) / AG001,
prop_vol_agua_cons_agua_trat = AG010 / AG007 * 100,
prop_vol_esgo_cole_agua_cons = ES005 / AG010 * 100,
prop_vol_esgo_cole_agua_cons = ES005 / (AG010) * 100,
prop_vol_esgo_trat_esgo_cole = ES006 / ES005 * 100,
prop_vol_esgo_trat_agua_cons = ES006 / AG010 * 100,
prop_vol_esgo_trat_agua_cons = ES006 / (AG010) * 100)
df_estadual$estado_sigla = ''
df_estadual$estado_sem_sigla = ''
for (i in 1:length(df_estadual$estado)) {
position = unlist(gregexpr('\\(', df_estadual$estado[i]))
df_estadual$estado_sigla[i] <- substr(df_estadual$estado[i], position+1, position+2)
df_estadual$estado_sem_sigla[i] <- substr(df_estadual$estado[i], 1, position-1)
}
# Criando o plot para a proporção de municípios atendidos com abastecimento de água
prop_mun_aten_abas_agua_plot <-
ggplot() +
geom_col(data=df_estadual, mapping=aes(x=estado_sigla, y=prop_mun_aten_abas_agua, color=regiao, fill=regiao), alpha=0.5) +
geom_hline(data=df_nacional, mapping=aes(yintercept = prop_mun_aten_abas_agua), color='red', size=0.2) + ylim(0,100) +
scale_fill_brewer(palette="Dark2") +
scale_color_brewer(palette="Dark2") +
labs(x = 'Estado', y='Proporção de Municípios (%)') +
ggtitle('Proporção de Municípios Atendidos com Abastecimento Água') +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text(size=11,face='bold'),
axis.text = element_text(size=10),
legend.title = element_text(size =11, face = 'bold'),
legend.text = element_text(size=10),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
# Criando o plot para a proporção de municípios atendidos com esgotamento sanitário
prop_mun_aten_esgo_sani_plot <-
ggplot() +
geom_col(data=df_estadual, mapping=aes(x=estado_sigla, y=prop_mun_aten_esgo_sani, color=regiao, fill=regiao), alpha=0.5) +
geom_hline(data=df_nacional, mapping=aes(yintercept = prop_mun_aten_esgo_sani), color='red', size=0.2) + ylim(0,100) +
scale_fill_brewer(palette="Dark2") +
scale_color_brewer(palette="Dark2") +
labs(x = 'Estado', y='Proporção de Municípios (%)') +
ggtitle('Proporção de Municípios Atendidos com Esgotamento Sanitário') +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text(size=11,face='bold'),
axis.text = element_text(size=10),
legend.title = element_text(size =11, face = 'bold'),
legend.text = element_text(size=10),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
ggarrange(prop_mun_aten_abas_agua_plot,
prop_mun_aten_esgo_sani_plot,
ncol = 1, nrow = 2, common.legend = TRUE, legend = "bottom")
No Brasil, a cobertura do abastecimento de água apresentou uma significativa variação entre os estados, apesar de muitos excederem a média nacional de 92,9%. Estados como Acre (AC), Amapá (AP), Roraima (RR), Sergipe (SE), Tocantins (TO) e o Distrito Federal (DF) alcançaram uma cobertura de 100%, refletindo uma infraestrutura de abastecimento de água bem desenvolvida. Em contraste, o Pará (PA) e o Amazonas (AM) apresentaram as coberturas mais baixas, com 40,3% e 59,7%, respectivamente, indicando deficiências significativas nos serviços de abastecimento de água nesses estados.
Quanto ao esgotamento sanitário, observou-se uma heterogeneidade ainda maior entre os estados. São Paulo (SP) e o Distrito Federal (DF) exibiram altas taxas de cobertura, enquanto a maioria dos estados mostraram proporções substancialmente inferiores à média nacional. Os estados do Norte, como Acre (AC) e Amazonas (AM), e alguns do Nordeste, como Maranhão (MA) e Piauí (PI), registraram as menores taxas de cobertura, destacando as falhas críticas na infraestrutura de saneamento básico.
A cobertura de abastecimento de água entre os estados brasileiros foi relativamente uniforme, indicando uma distribuição ampla dessa infraestrutura. No entanto, a cobertura de esgotamento sanitário variou significativamente entre as regiões. A região Sudeste sobressaiu com a maior proporção de municípios atendidos, enquanto as regiões Norte e Nordeste registraram as menores proporções, evidenciando disparidades regionais marcantes na infraestrutura de saneamento.
Além disso, foi realizada uma análise sobre a proporção da população com acesso ao abastecimento de água e ao esgotamento sanitário, proporcionando uma compreensão mais aprofundada das necessidades e lacunas no acesso a esses serviços essenciais.prop_pop_aten_abas_agua_plot <-
ggplot() +
geom_col(data=df_estadual, mapping=aes(x=estado_sigla, y=prop_pop_aten_abas_agua, color=regiao, fill=regiao), alpha=0.5) +
geom_hline(data=df_nacional, mapping=aes(yintercept = prop_pop_aten_abas_agua), color='red', size=0.2) + ylim(0,100) +
scale_fill_brewer(palette="Dark2") +
scale_color_brewer(palette="Dark2") +
labs(x = 'Estado', y='Proporção da População (%)') +
ggtitle('Proporção da Popopulação Atendida com Abastecimento Água') +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text(size=11,face='bold'),
axis.text = element_text(size=10),
legend.title = element_text(size =11, face = 'bold'),
legend.text = element_text(size=10),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
prop_pop_aten_esgo_sani_plot <-
ggplot() +
geom_col(data=df_estadual, mapping=aes(x=estado_sigla, y=prop_pop_aten_esgo_sani, color=regiao, fill=regiao), alpha=0.5) +
geom_hline(data=df_nacional, mapping=aes(yintercept = prop_pop_aten_esgo_sani), color='red', size=0.2) + ylim(0,100) +
scale_fill_brewer(palette="Dark2") +
scale_color_brewer(palette="Dark2") +
labs(x = 'Estado', y='Proporção da População (%)') +
ggtitle('Proporção da Popopulação Atendida com Esgotamento Sanitátio') +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text(size=11,face='bold'),
axis.text = element_text(size=10),
legend.title = element_text(size =11, face = 'bold'),
legend.text = element_text(size=10),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
ggarrange(prop_pop_aten_abas_agua_plot,
prop_pop_aten_esgo_sani_plot,
ncol = 1, nrow = 2, common.legend = TRUE, legend = "bottom")
Embora estados como Acre (AC) e Amapá (AP) tenham alcançado uma cobertura de 100% nos municípios atendidos com abastecimento de água, a proporção da população efetivamente atendida foi significativamente menor, com 47,3% e 33,7% respectivamente. Essa discrepância sinaliza uma distribuição desigual dos serviços de água dentro desses estados. Em contraste, o Distrito Federal (DF), e os estados São Paulo (SP), Paraná (PR) e Rio de Janeiro (RJ) exibiram altas proporções de população atendida, refletindo uma infraestrutura de abastecimento de água mais desenvolvida e eficaz.
No que diz respeito ao esgotamento sanitário, estados do Norte como Rondônia (RO), Pará (PA), Amapá (AP) e Acre (AC) registraram os menores índices de atendimento populacional, todos abaixo de 10%. Esta deficiência aponta para problemas graves na infraestrutura de saneamento básico dessas áreas, em forte contraste com o restante do país. A maioria dos estados apresentou coberturas de esgotamento sanitário abaixo da média nacional, destacando a necessidade urgente de investimentos em infraestrutura de saneamento nessas regiões.
A cobertura de abastecimento de água na população foi geralmente uniforme entre as regiões, exceto no Norte, onde menos de 50% da população foi atendida, evidenciando uma lacuna significativa em comparação com outras regiões que mostraram altas taxas de cobertura. A região Sudeste se destacou pela maior proporção da população atendida com esgotamento sanitário, substancialmente acima da média nacional, enquanto as regiões Norte e Nordeste registraram as menores proporções. A próxima etapa da análise se concentrou nas receitas operacionais diretas com água e esgoto.rec_oper_dir_agua_mun_aten_plot <-
ggplot() +
geom_col(data=df_estadual[df_estadual$estado != 'Distrito Federal (DF)' & df_estadual$estado != 'Rio de Janeiro (RJ)',], mapping=aes(x=estado_sigla, y=rec_oper_dir_agua_mun_aten, color=regiao, fill=regiao), alpha=0.5) +
geom_hline(data=df_nacional, mapping=aes(yintercept = rec_oper_dir_agua_mun_aten), color='red', size=0.2) +
scale_fill_brewer(palette="Dark2") +
scale_color_brewer(palette="Dark2") +
labs(x = 'Estado', y='Receita (R$/município/ano)') +
ggtitle('Receitas Operacionais Diretas com Água por Município (somente municípios atendidos)') +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text(size=11, face='bold'),
axis.text = element_text(size=10),
legend.title = element_text(size =11, face = 'bold'),
legend.text = element_text(size=10),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
rec_oper_dir_esgo_muni_aten_plot <-
ggplot() +
geom_col(data=df_estadual[df_estadual$estado != 'Distrito Federal (DF)' & df_estadual$estado != 'Rio de Janeiro (RJ)',], mapping=aes(x=estado_sigla, y=rec_oper_dir_esgo_mun_aten, color=regiao, fill=regiao), alpha=0.5) +
geom_hline(data=df_nacional, mapping=aes(yintercept = rec_oper_dir_esgo_mun_aten), color='red', size=0.2) +
scale_fill_brewer(palette="Dark2") +
scale_color_brewer(palette="Dark2") +
labs(x = 'Estado', y='Receita (R$/município/ano)') +
ggtitle('Receitas Operacionais Diretas com Esgoto por Município (somente municípios atendidos)') +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text(size=11,face='bold'),
axis.text = element_text(size=10),
legend.title = element_text(size =11, face = 'bold'),
legend.text = element_text(size=10),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
ggarrange(rec_oper_dir_agua_mun_aten_plot,
rec_oper_dir_esgo_muni_aten_plot,
ncol = 1, nrow = 2, common.legend = TRUE, legend = "bottom")
O estudo das receitas operacionais diretas provenientes dos serviços de abastecimento de água por município revelou discrepâncias significativas entre os estados brasileiros. São Paulo (SP) e Amazonas (AM) destacaram-se com as maiores receitas, indicativas de alta eficiência ou demanda intensa por esses serviços. Notavelmente, o Rio de Janeiro (RJ) e o Distrito Federal (DF), com receitas de R$ 59.684.959 e R$ 938.573.359 respectivamente em 2019, foram excluídos da análise visual devido a suas receitas excepcionalmente altas, que superaram em múltiplos as do Amazonas, o mais alto entre os estados incluídos. Em contraste, estados como Acre (AC), Amapá (AP), Maranhão (MA), Paraíba (PB), Piauí (PI) e Tocantins (TO) apresentaram as menores receitas, atingindo apenas cerca de 20% do que foi registrado por São Paulo.
Similarmente, as receitas derivadas dos serviços de esgotamento sanitário seguiram um padrão comparável ao abastecimento de água, com estados do Sul e Sudeste exibindo as maiores receitas. Estes resultados podem refletir infraestruturas de saneamento mais desenvolvidas ou políticas tarifárias mais eficazes. Por outro lado, estados do Norte e Nordeste como Amapá (AP), Pará (PA), Rondônia (RO), Piauí (PI) e Rio Grande do Norte (RN) mostraram as menores receitas, sugerindo desafios relacionados à infraestrutura ou gestão.
As receitas operacionais diretas per capita com água nas regiões Sul e Centro-Oeste foram as mais elevadas, indicando possivelmente uma maior eficiência operacional ou tarifação mais alta por usuário. Em contraste, as regiões Norte e Nordeste registraram as menores receitas per capita, apontando para potenciais ineficiências ou menores taxas de cobrança.
Estes dados preliminares sugerem uma correlação entre a eficiência econômica dos serviços de água e esgoto e a capacidade administrativa e infraestrutural dos estados. Na próxima fase do estudo, as receitas operacionais diretas per capita com água e esgoto foram avaliadas.rec_oper_dir_agua_pop_aten_plot <-
ggplot() +
geom_col(data=df_estadual, mapping=aes(x=estado_sigla, y=rec_oper_dir_agua_pop_aten, color=regiao, fill=regiao), alpha=0.5) +
geom_hline(data=df_nacional, mapping=aes(yintercept = rec_oper_dir_agua_pop_aten), color='red', size=0.2) +
scale_fill_brewer(palette="Dark2") +
scale_color_brewer(palette="Dark2") +
labs(x = 'Estado', y='Receita (R$ per capita/ano)') +
ggtitle('Receitas Operacionais Diretas per Capita com Água (somente população atendida)') +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text(size=11,face='bold'),
axis.text = element_text(size=10),
legend.title = element_text(size =11, face = 'bold'),
legend.text = element_text(size=10),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
rec_oper_dir_esgo_pop_aten_plot <-
ggplot() +
geom_col(data=df_estadual, mapping=aes(x=estado_sigla, y=rec_oper_dir_esgo_pop_aten, color=regiao, fill=regiao), alpha=0.5) +
geom_hline(data=df_nacional, mapping=aes(yintercept = rec_oper_dir_esgo_pop_aten), color='red', size=0.2) +
scale_fill_brewer(palette="Dark2") +
scale_color_brewer(palette="Dark2") +
labs(x = 'Estado', y='Receita (R$ per capita/ano)') +
ggtitle('Receitas Operacionais Diretas per Capita com Esgoto (somente municípios atendidos)') +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text(size=11,face='bold'),
axis.text = element_text(size=10),
legend.title = element_text(size =11, face = 'bold'),
legend.text = element_text(size=10),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
ggarrange(rec_oper_dir_agua_pop_aten_plot,
rec_oper_dir_esgo_pop_aten_plot,
ncol = 1, nrow = 2, common.legend = TRUE, legend = "bottom")
No gráfico em questão, nota-se que, similarmente ao observado nas receitas operacionais diretas com água por município, os estados da região Norte exibiram as menores receitas per capita. Especificamente, os estados do Pará (PA) e Roraima (RR) registraram receitas de R$ 126,33 e R$ 134,69, respectivamente. Em contrapartida, estados como Rio Grande do Sul (RS), Mato Grosso do Sul (MS), Rio de Janeiro (RJ), Distrito Federal (DF) e Santa Catarina (SC) apresentaram as maiores receitas operacionais diretas per capita com água, com valores superiores a R$ 300,00. Contudo, a maioria dos estados ainda se situa abaixo da média nacional para este indicador.
Quanto às receitas operacionais diretas per capita com esgoto, as mais elevadas foram observadas no Distrito Federal, alcançando R$ 296,75, seguidas pelas do Rio de Janeiro (RJ) e Santa Catarina (SC). Assim como nas receitas com água, os estados da região Norte, incluindo Roraima (RR), Rondônia (RO), Pará (PA) e Acre (AC), também tiveram as menores receitas per capita com esgoto. É importante ressaltar que, entre todos os estados, apenas o Maranhão (MA) e o Amapá (AP) apresentaram receitas operacionais diretas per capita com água inferiores às suas receitas per capita com esgoto.
Quando considerando as receitas operacionais diretas per capita com esgoto, a região Centro-Oeste teve a maior receita per capita, seguida de perto pelo Sudeste, ambos acima do valor nacional. O Norte e o Nordeste apresentaram os menores valores per capita, indicando uma menor capacidade de geração de receita por usuário neste serviço, dificultando ainda mais a tão necessitada melhoria da infraestrutura de esgotamento sanitário dessas regiões.
Um outro gráfico que apresenta o volume per capita de água tratada e consumida, bem como do volume de esgoto coletado e tratado para auxiliar na análise desses parâmetros foi criado. As linhas horizontais representam os volumes per capita para todo o país. De baixo para cima, as linhas representam os volumes de esgoto tratado, esgoto coletado, água consumida e água tratada.# Criando o plot nacional para os volumes
plot_nacional <- ggplot(data=df_nacional) +
geom_col(aes(x=country, y=prop_vol_agua_trat_pop_aten), fill='lightblue', alpha=0.5) +
geom_col(aes(x=country, y=prop_vol_agua_cons_pop_aten), fill='blue', alpha=0.5) +
geom_col(aes(x=country, y=prop_vol_esgo_cole_pop_aten), fill='brown', alpha=0.5) +
geom_col(aes(x=country, y=prop_vol_esgo_trat_pop_aten), fill='red', alpha=0.5) +
stat_count(geom = "text", colour = "black", size = 3.5, aes(x=country, label = round(prop_vol_agua_trat_pop_aten, 0),), position=position_stack(vjust=69)) +
stat_count(geom = "text", colour = "black", size = 3.5, aes(x=country, label = round(prop_vol_agua_cons_pop_aten, 0),), position=position_stack(vjust=46)) +
stat_count(geom = "text", colour = "black", size = 3.5, aes(x=country, label = round(prop_vol_esgo_cole_pop_aten, 0),), position=position_stack(vjust=30)) +
stat_count(geom = "text", colour = "black", size = 3.5, aes(x=country, label = round(prop_vol_esgo_trat_pop_aten, 0),), position=position_stack(vjust=15)) +
ylab(bquote(bold('Volume per capita ('~m^3*' )'))) +
xlab('') +
ylim(0,100) +
theme(
axis.title = element_text(size = 11, hjust = 0.5, face = 'bold'),
axis.text = element_text(size = 10),
legend.text = element_text(size = 7),
legend.title = element_text(size = 8, face = 'bold'),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
# Criando o plot regional para os volumes
plot_regional <- ggplot(data=df_estadual) +
geom_col(aes(x=estado_sigla, y=prop_vol_agua_trat_pop_aten), fill='lightblue', alpha=0.5) +
geom_col(aes(x=estado_sigla, y=prop_vol_agua_cons_pop_aten), fill='blue', alpha=0.5) +
geom_col(aes(x=estado_sigla, y=prop_vol_esgo_cole_pop_aten), fill='brown', alpha=0.5) +
geom_col(aes(x=estado_sigla, y=prop_vol_esgo_trat_pop_aten), fill='red', alpha=0.5) +
xlab('Estado') +
ylim(0,100) +
theme(
axis.title.x = element_text(size=11, face='bold'),
axis.title.y = element_text('none'),
axis.text = element_text(size=10),
legend.text = element_text(size = 7),
legend.title = element_text(size = 8, face = 'bold'),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
h1 <- geom_hline(yintercept = df_nacional$prop_vol_agua_trat_pop_aten, size=0.2, color='black')
h2 <- geom_hline(yintercept = df_nacional$prop_vol_agua_cons_pop_aten, size=0.2, color='black')
h3 <- geom_hline(yintercept = df_nacional$prop_vol_esgo_cole_pop_aten, size=0.2, color='black')
h4 <- geom_hline(yintercept = df_nacional$prop_vol_esgo_trat_pop_aten, size=0.2, color='black')
my_legend <- readJPEG("../images/legend_custom.jpeg", native = TRUE)
annotate_figure(grid.arrange(plot_nacional, plot_regional+h1+h2+h3+h4, ncol=2, widths = c(1,6)),
top = text_grob("Volume per Capita de Água Tratada e Consumida, Esgoto Coletado e Tratado (somente população atendida)",
face = "bold", size = 12)) + inset_element(p = my_legend,
left = 0.19,
bottom = 0.86,
right = 0.66,
top = 0.93)
Nessa etapa é apresentada uma análise detalhada do abastecimento de água e tratamento de esgoto no Brasil, com variações significativas observadas entre os estados. Em 2019, nove estados, incluindo São Paulo (SP), Sergipe (SE), Santa Catarina (SC), Rio Grande do Sul (RS), Rondônia (RO), Rio de Janeiro (RJ), Minas Gerais (MG), Espírito Santo (ES) e Acre (AC), superaram a média nacional de 78,5 m³ de água tratada per capita. Notavelmente, Amapá (AP) exibiu um volume tão elevado que foi excluído do gráfico para evitar distorções visuais. O Rio de Janeiro e o Acre trataram mais de 100 m³ por pessoa, enquanto o Rio de Janeiro registrou o maior consumo de água per capita de 80 m³, cerca de 220 litros por dia. Em contraste, o Rio Grande do Norte teve o menor consumo, com 27,8 m³ por pessoa, ou aproximadamente 76,2 litros per capita por dia.
Quanto ao esgotamento sanitário, apenas uma fração do esgoto foi coletada na maioria dos estados, com destaque para o Rio de Janeiro, São Paulo, Minas Gerais e o Distrito Federal, que apresentaram os maiores volumes per capita coletados. Em contrapartida, Rondônia registrou o menor volume de esgoto coletado, indicando deficiências na coleta de esgoto. A região Sudeste, apesar de coletar volumes significativos de esgoto, apresentou baixas taxas de tratamento em relação ao volume coletado, evidenciando uma gestão ineficaz e desperdício de recursos.
A análise regional mostrou que o Sudeste e Centro-Oeste estão acima da média nacional tanto no tratamento quanto na coleta de esgoto, enquanto as regiões Norte e Nordeste apresentaram os menores índices. O Norte, em particular, registra os menores volumes per capita de esgoto tratado e coletado. Apesar da alta capacidade de tratamento de água no Sudeste, esta região também sofre com perdas significativas durante a distribuição.
No contexto brasileiro, conforme ilustrado pelo gráfico à esquerda, observou-se que, no ano de 2019, cerca de 78 m³ de água per capita foram tratados. No entanto, apenas 57 m³ dessa água foram de fato consumidos por pessoa, indicando uma perda de aproximadamente 21 m³ per capita durante o processo de distribuição, o que representa 27% do total tratado. Quanto ao esgotamento sanitário, foram coletados 34 m³ de esgoto por pessoa, dos quais 26 m³ foram tratados, correspondendo a 76% do volume per capita coletado.
A seção seguinte desse estudo analisa as relações entre o volume de água consumida e o volume de água tratada, além das proporções entre o volume de esgoto coletado e o volume de água consumida, e entre o volume de esgoto coletado e o volume de esgoto tratado.prop_vol_agua_cons_agua_trat_plot <- ggplot(data=df_estadual) +
geom_col(mapping = aes(x=estado_sigla, y=prop_vol_agua_cons_agua_trat, color=regiao, fill=regiao), alpha=0.5) +
geom_hline(data=df_nacional, mapping=aes(yintercept = prop_vol_agua_cons_agua_trat), color='red', size=0.2) +
ylim(0, 100) +
scale_fill_brewer(palette="Dark2") +
scale_color_brewer(palette="Dark2") +
labs(x = 'Estado', y='Proporção (%)') +
ggtitle('Proporção entre o Volume de Água Consumida e o Volume de Água Tratada') +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text(size=11,face='bold'),
axis.text = element_text(size=10),
legend.title = element_text(size =11, face = 'bold'),
legend.text = element_text(size=10),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
prop_vol_esgo_cole_agua_cons_plot <- ggplot(data=df_estadual) +
geom_col(mapping = aes(x=estado_sigla, y=prop_vol_esgo_cole_agua_cons, color=regiao, fill=regiao), alpha=0.5) +
geom_hline(data=df_nacional, mapping=aes(yintercept = prop_vol_esgo_cole_agua_cons), color='red', size=0.2) +
ylim(0, 100) +
scale_fill_brewer(palette="Dark2") +
scale_color_brewer(palette="Dark2") +
labs(x = 'Estado', y='Proporção (%)') +
ggtitle('Proporção entre o Volume de Esgoto Coletado e o Volume de Água Consumida') +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text(size=11,face='bold'),
axis.text = element_text(size=10),
legend.title = element_text(size =11, face = 'bold'),
legend.text = element_text(size=10),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
prop_vol_esgo_trat_esgo_cole_plot <- ggplot(data=df_estadual) +
geom_col(mapping = aes(x=estado_sigla, y=prop_vol_esgo_trat_esgo_cole, color=regiao, fill=regiao), alpha=0.5) +
geom_hline(data=df_nacional, mapping=aes(yintercept = prop_vol_esgo_trat_esgo_cole), color='red', size=0.2) +
ylim(0, 100) +
scale_fill_brewer(palette="Dark2") +
scale_color_brewer(palette="Dark2") +
labs(x = 'Estado', y='Proporção (%)') +
ggtitle('Proporção entre o Volume de Esgoto Tratado e o Volume de Esgoto Coletado') +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text(size=11,face='bold'),
axis.text = element_text(size=10),
legend.title = element_text(size =11),
legend.text = element_text(size=10),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
ggarrange(prop_vol_agua_cons_agua_trat_plot,
prop_vol_esgo_cole_agua_cons_plot,
prop_vol_esgo_trat_esgo_cole_plot,
ncol = 1, nrow = 3, common.legend = TRUE, legend = "bottom")
A maioria dos estados apresentou uma relação entre o volume de água consumida e água tratada (gráfico superior) bastante próxima à média nacional, com variações ligeiramente acima ou abaixo, embora a maioria tenha registrado valores abaixo dessa média. Entre os estados com as maiores proporções de água consumida em relação à água tratada, destacam-se Alagoas (AL), Maranhão (MA) e Goiás (GO). Por outro lado, estados da região Norte como Acre (AC), Amazonas (AM) e Amapá (AP) mostraram as menores proporções, com 41.8%, 43.9% e 28.6%, respectivamente, indicando maiores perdas de água durante a distribuição.
Quanto à relação entre o volume de esgoto coletado e o volume de água consumida (gráfico intermediário), os maiores índices foram observados nas regiões Centro-Oeste e Sudeste, mais especificamente no Distrito Federal e nos estados de Minas Gerais (MG) e São Paulo (SP), todos excedendo 75%, seguidos de perto por Roraima (RR) e Paraná (PR). Em contraste, os estados com as menores proporções, abaixo de 20%, incluem Acre (AC), Alagoas (AL), Amapá (AP), Pará (PA), Piauí (PI) e Rondônia (RO), todos pertencentes às regiões Norte e Nordeste. Notavelmente, os estados do Nordeste, como Alagoas e Maranhão, que registraram maiores proporções entre o volume de água consumida e água tratada, apresentaram proporções significativamente inferiores de coleta de esgoto em relação a esse consumo, com Alagoas sendo um dos estados com as menores relações entre o volume de esgoto coletado e o volume de água consumida. Isso mostra o descaso ou a dificuldade encontrada por alguns estados para priorizar a coleta de esgoto da mesma forma que a distribuição de água.
A análise do gráfico inferior revela que a maioria dos estados exibe uma alta proporção de tratamento do esgoto coletado, muitos superando a média nacional. Isso indica que uma parcela significativa do esgoto coletado nesses estados é tratada antes de ser descartada. Notavelmente, o Distrito Federal (DF) e o estado do Acre (AC) tratam 100% do esgoto que coletam. Em contraste, estados como Pará (PA) e Maranhão (MA) apresentam as menores proporções de tratamento em relação ao esgoto coletado, ficando bem abaixo da média nacional. De um modo geral, as regiões Sul e Centro-Oeste mostraram os valores mais altos. Esses dados podem refletir lacunas na infraestrutura de tratamento de esgoto ou falhas na implementação de políticas de saneamento nesses estados, resultando em uma menor fração de esgoto tratado.
Entretanto, é importante considerar que é mais vantajoso tratar 50% do esgoto de um total de 80% coletado, do que tratar 100% de um total de apenas 20% coletado. No primeiro cenário, 40% do volume de água consumido seria devolvido ao ambiente como esgoto tratado, enquanto no segundo cenário, apenas 20% do volume consumido seria tratado e retornado. Esta observação destaca a importância de não apenas focar na proporção de esgoto tratado, mas também na quantidade de esgoto que está sendo efetivamente coletada e tratada.
Em seguida, a proporção entre o volume de esgoto tratado e o volume de água consumida foi analisada para informar qual a proporção de água consumida retorna para o meio ambiente em forma de esgoto tratado.prop_vol_esgo_trat_agua_cons_plot <- ggplot(data=df_estadual) +
geom_col(mapping = aes(x=estado_sigla, y=prop_vol_esgo_trat_agua_cons, color=regiao, fill=regiao), alpha=0.5) +
geom_hline(data=df_nacional, mapping=aes(yintercept = prop_vol_esgo_trat_agua_cons), color='red', size=0.2) +
ylim(0, 100) +
scale_fill_brewer(palette="Dark2") +
scale_color_brewer(palette="Dark2") +
labs(x = 'Estado', y='Proporção (%)') +
ggtitle('Proporção entre o Volume de Esgoto Tratado e o Volume de Água Consumida') +
theme(
plot.title = element_text(size = 12, hjust = 0.5, face = 'bold'),
axis.title = element_text(size=11,face='bold'),
axis.text = element_text(size=10),
legend.title = element_text(size =11),
legend.text = element_text(size=10),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
ggarrange(prop_vol_esgo_trat_agua_cons_plot,
ncol = 1, nrow = 1, common.legend = TRUE, legend = "bottom")
A partir da análise do gráfico apresentado acima, notou-se uma notável variação entre os estados quanto à eficiência no tratamento de esgoto em relação ao volume de água consumida. Estados como Goiás (GO) e Mato Grosso do Sul (MS) exibiram desempenhos superiores à média nacional, indicando que uma parcela significativa da água consumida nesses locais é coletada em forma de esgoto e tratada. Em contrapartida, estados como Rondônia (RO) e Pará (PA) apresentam proporções consideravelmente inferiores à média nacional, o que sugere que apenas uma pequena fração da água consumida é coletada em forma de esgoto e submetida a tratamento. Essa situação aponta para possíveis desafios relacionados à infraestrutura de saneamento e à gestão eficiente desses serviços nesses estados.
De forma mais ampla, observa-se que, nacionalmente, cerca de 46% do volume de água consumida retorna em forma de esgoto tratado, com a maioria dos estados ainda abaixo dessa marca. Considerando as regiões, o Sudeste e Centro-Oeste lideram com proporções médias ligeiramente acima de 50%, seguidos pelo Sul. O Nordeste e o Norte, mais uma vez, apresentaram as menores proporções, com o Norte tratando uma média de 17,9% do esgoto em relação à água consumida na região. Isso implica que de cada 100 litros de água consumida no Norte, apenas 17,9 litros são tratados antes de retornar ao ambiente. É importante destacar que este estudo não avalia os métodos de tratamento de esgoto, portanto, “esgoto tratado” não necessariamente significa que a água alcançou um alto nível de qualidade antes de ser retornada nos mananciais.
Na próxima fase, exploraremos a existência de correlações lineares entre essas variáveis. Os resultados dessa análise de correlação serão apresentados visualmente a seguir.df_estadual_cor <- cor(df_estadual[,-c('estado','regiao', 'estado_sigla','estado_sem_sigla')], method = "spearman")
corrplot(df_estadual_cor)
O gráfico de correlação apresentado fornece uma análise visual das relações entre diversas variáveis relacionadas ao abastecimento de água e esgotamento sanitário. Cada célula do gráfico representa o coeficiente de correlação entre duas variáveis, onde o tamanho e a cor do círculo indicam a força e a direção da correlação. Cores azuis representam correlações positivas, enquanto as cores vermelho-alaranjado indicam correlações negativas. Círculos maiores sugerem uma correlação mais forte.
As dez primeiras variáveis do dataset exibiram exclusivamente correlações positivas, algumas das quais bastante fortes. Já as variáveis desenvolvidas ao longo do projeto mostraram uma gama mais ampla de correlações, com a maioria dos pares apresentando correlações positivas e algumas negativas. A magnitude dessas correlações abrangeu quase todo o espectro de valores.
Na fase final deste trabalho, não se buscava examinar a correlação entre todas as variáveis, uma vez que isso consumiria um tempo considerável e alongaria ainda mais este relatório. Inicialmente, focamos nas correlações que apresentaram um coeficiente de correlação (R²) maior ou igual a 0,8 ou menor ou igual a -0,6.list_of_R = c()
list_row = c()
list_col = c()
list_side = c()
for (i in colnames(df_estadual_cor)) {
for (j in rownames(df_estadual_cor)) {
if (i != j) {
if (df_estadual_cor[j,i] >= 0.8) {
list_of_R <- append(list_of_R, values = df_estadual_cor[j,i])
list_row <- append(list_row, values = j)
list_col <- append(list_col, values = i)
list_side <- append(list_side, values = 'positiva')
}
else if (df_estadual_cor[j,i] <= -0.6) {
list_of_R <- append(list_of_R, values = df_estadual_cor[j,i])
list_row <- append(list_row, values = j)
list_col <- append(list_col, values = i)
list_side <- append(list_side, values = 'negativa')
}
}
}
}
higher_correlations = data.frame(list_of_R, list_row, list_col, list_side) %>% arrange(desc(list_of_R))
list_index_remove <- c()
for (i in 2:length(higher_correlations$list_of_R)) {
if (higher_correlations$list_of_R[i-1] == higher_correlations$list_of_R[i]) {
if (higher_correlations$list_row[i-1] == higher_correlations$list_col[i] &
higher_correlations$list_col[i-1] == higher_correlations$list_row[i]) {
list_index_remove <- append(list_index_remove, i-1)
}
}
}
higher_correlations <- higher_correlations[-list_index_remove,]
list_index_remove <- c()
for (i in 3:length(higher_correlations$list_of_R)) {
if (higher_correlations$list_of_R[i-2] == higher_correlations$list_of_R[i]) {
if (higher_correlations$list_row[i-2] == higher_correlations$list_col[i] &
higher_correlations$list_col[i-2] == higher_correlations$list_row[i]) {
list_index_remove <- append(list_index_remove, i-2)
}
}
}
higher_correlations <- higher_correlations[-list_index_remove,]
length(higher_correlations$list_of_R)
## [1] 59
#for (i in 1:length(higher_correlations$list_row)) {
# plot <- ggscatter(df_estadual, x = higher_correlations$list_row[i], y = higher_correlations$list_col[i],
# add = "reg.line", conf.int = TRUE,
# cor.coef = TRUE, cor.method = "pearson",
# xlab = higher_correlations$list_row[i], ylab = higher_correlations$list_col[i])
# print(plot)
#}
A maioria dos pares de variáveis apresentou correlações positivas significativas e fortes, muitas das quais eram esperadas. Por exemplo, observou-se uma forte correlação entre o volume de água tratada e o número de municípios atendidos com abastecimento de água, bem como entre o volume de esgoto tratado e a receita operacional direta com esgoto. No entanto, selecionei 5 pares de variáveis que considerei particularmente interessantes para apresentar neste estudo.
A figura abaixo apresenta 4 gráficos de pontos, que incluem a linha de regressão bem como seu intervalo de confiança. Cada gráfico representa um par de variáveis, que pode ser identificado pelo número impresso no canto superior esquerdo dos gráficos associado ao número de cada par analisado, que é apresentado na análise posterior. No entanto, logo abaixo dos gráficos, inserimos uma descrição para cada uma das siglas usadas nos títulos dos eixos, a fim de facilitar a interpretação dos mesmos.plot1 <- ggplot(df_estadual, aes(x = num_mun, y = GE05a)) +
geom_point() +
geom_smooth(method = "lm", formula = y ~ x,
se = TRUE,
color = "blue", fill = "lightblue") +
geom_label(aes(x=0, y=840, label='1'),
color="blue", size=5 , fontface="bold" ) +
labs(x = 'NM', y='NMAAA') +
theme(
axis.title = element_text(size=8,face='bold'),
axis.text = element_text(size=7),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
plot2 <- ggplot(df_estadual, aes(x = num_mun, y = GE05b)) +
geom_point() +
geom_smooth(method = "lm", formula = y ~ x,
se = TRUE,
color = "blue", fill = "lightblue") +
geom_label(aes(x=0, y=680, label='2'),
color="blue", size=5 , fontface="bold" ) +
labs(x = 'NM', y='NMAES') +
theme(
axis.title = element_text(size=8,face='bold'),
axis.text = element_text(size=7),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
plot3 <- ggplot(df_estadual, aes(x = populacao, y = prop_pop_aten_abas_agua)) +
geom_point() +
geom_smooth(method = "lm", formula = y ~ x,
se = TRUE,
color = "blue", fill = "lightblue") +
geom_label(aes(x=0, y=130, label='3'),
color="blue", size=5 , fontface="bold" ) +
labs(x = 'Pop', y='PPAAA') +
theme(
axis.title = element_text(size=8,face='bold'),
axis.text = element_text(size=7),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
plot4 <- ggplot(df_estadual, aes(x = populacao, y = prop_pop_aten_esgo_sani)) +
geom_point() +
geom_smooth(method = "lm", formula = y ~ x,
se = TRUE,
color = "blue", fill = "lightblue") +
geom_label(aes(x=0, y=130, label='4'),
color="blue", size=5 , fontface="bold" ) +
labs(x = 'Pop', y='PPAES') +
theme(
axis.title = element_text(size=8,face='bold'),
axis.text = element_text(size=7),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
annotate_figure(grid.arrange(plot1, plot2, plot3, plot4, ncol = 2, nrow = 2),
top = text_grob("Análise de Correlação entre alguns Pares de Variáveis",
face = "bold", size = 12))
Definição das siglas utilizadas para representar as variáveis nos títulos dos eixos x e y dos gráficos de correlação:
1. Número de municípios e número de municípios atendidos com abastecimento de água.
cor.test(df_estadual$num_mun, df_estadual$GE05a)
##
## Pearson's product-moment correlation
##
## data: df_estadual$num_mun and df_estadual$GE05a
## t = 59.15, df = 25, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.9921070 0.9984019
## sample estimates:
## cor
## 0.9964463
2. Número de municípios e número de municípios atendidos com esgotamento sanitário.
cor.test(df_estadual$num_mun, df_estadual$GE05b)
##
## Pearson's product-moment correlation
##
## data: df_estadual$num_mun and df_estadual$GE05b
## t = 9.9225, df = 25, p-value = 3.751e-10
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.7765427 0.9504826
## sample estimates:
## cor
## 0.893027
3. População e proporção da população atendida com abastecimento de água.
cor.test(df_estadual$populacao, df_estadual$prop_pop_aten_abas_agua)
##
## Pearson's product-moment correlation
##
## data: df_estadual$populacao and df_estadual$prop_pop_aten_abas_agua
## t = 1.7194, df = 25, p-value = 0.0979
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.06255564 0.62764114
## sample estimates:
## cor
## 0.3251887
4. População e proporção da população atendida com esgotamento sanitário.
cor.test(df_estadual$populacao, df_estadual$prop_pop_aten_esgo_sani)
##
## Pearson's product-moment correlation
##
## data: df_estadual$populacao and df_estadual$prop_pop_aten_esgo_sani
## t = 3.2872, df = 25, p-value = 0.002998
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.2140233 0.7688610
## sample estimates:
## cor
## 0.549357
O Gráfico 1 revelou uma relação linear positiva e significativa (p-value = 2.2e-16) entre o número total de municípios e aqueles atendidos com abastecimento de água, exibindo o maior coeficiente de correlação (R = 0.996) dentre os estudados. Já o Gráfico 2 apresentou uma relação linear positiva e significativa (p-value = 3.751e-10) entre o número total de municípios e os atendidos com esgotamento sanitário; no entanto, o coeficiente de correlação de 0.89 foi consideravelmente menor que o anterior, indicando maior variabilidade dos dados em torno da linha de regressão. Esses resultados sugerem que, quanto maior o número de municípios em um estado, maior é o número de municípios com cobertura de serviços de abastecimento de água e esgotamento sanitário, sendo mais notável para o primeiro.
Por outro lado, a correlação entre a população total e a população atendida com abastecimento de água (Gráfico 3) não foi considerada significativa (p-value = 0.0979). Por outro lado, a relação linear entre a população total e a população atendida com esgotamento sanitário (Gráfico 4) foi positiva e significativa, mas com uma magnitude moderada (R = 0.55). Apesar de o número de municípios atendidos com serviços de água e esgoto aumentar com o total de municípios de um estado, o número de pessoas beneficiadas por esses serviços não necessariamente cresce proporcionalmente ao aumento da população.
O próximo gráfico explorará a correlação entre o volume per capita de água tratada e a proporção entre o volume de água consumida e o volume de água tratada, detalhando mais essa relação nas análises subsequentes.ggplot(df_estadual, aes(x = prop_vol_agua_trat_pop_aten, y = prop_vol_agua_cons_agua_trat)) +
geom_point() +
geom_smooth(method = "lm", formula = y ~ x,
se = TRUE,
color = "blue", fill = "lightblue") +
labs(x = 'VATPC', y='PVACVAT') +
theme(
axis.title = element_text(size=8,face='bold'),
axis.text = element_text(size=7),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = 'black'),
panel.border = element_rect(size = 1, fill = NA)
)
cor.test(df_estadual$prop_vol_agua_trat_pop_aten, df_estadual$prop_vol_agua_cons_agua_trat)
##
## Pearson's product-moment correlation
##
## data: df_estadual$prop_vol_agua_trat_pop_aten and df_estadual$prop_vol_agua_cons_agua_trat
## t = -5.2153, df = 25, p-value = 2.137e-05
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.8646739 -0.4710550
## sample estimates:
## cor
## -0.721852
O gráfico apresentado demonstrou uma correlação negativa significativa (p-valor = 2.14e-05) e de intensidade moderada a forte (R = 0.72) entre o volume per capita de água tratada e a proporção do volume de água consumida em relação ao volume de água tratada. Isso indica que quanto maior o volume per capita de água tratada, maiores são as perdas na sua distribuição, resultando em menores proporções do volume de água consumida em relação ao tratado. Deveria haver uma maior atenção voltada para as perdas nas redes de distribuição de água a fim de reduzir o desperdício de recursos, aumentando assim o volume de água disponível e o número de habitantes beneficiados por este serviço essencial que é o fornecimento de água à população.
Para concluir, foram realizados dois testes de hipóteses utilizando ANOVA para explorar se existem diferenças significativas entre as regiões quanto à proporção da população atendida com abastecimento de água e esgotamento sanitário, diferenças essas que foram observadas visualmente no início deste projeto. Adicionalmente, o teste de Tukey foi empregado com o propósito de identificar quais pares de regiões mostraram diferenças significativas nos parâmetros analisados.anova_prop_pop_aten_abas_agua <- aov(prop_pop_aten_abas_agua ~ regiao, data = df_estadual)
summary(anova_prop_pop_aten_abas_agua)
## Df Sum Sq Mean Sq F value Pr(>F)
## regiao 4 4397 1099.2 5.649 0.00277 **
## Residuals 22 4281 194.6
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(anova_prop_pop_aten_abas_agua)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = prop_pop_aten_abas_agua ~ regiao, data = df_estadual)
##
## $regiao
## diff lwr upr p adj
## Nordeste-Centro_Oeste -15.4985456 -40.369933 9.372842 0.3726000
## Norte-Centro_Oeste -31.5021771 -57.443787 -5.560568 0.0123302
## Sudeste-Centro_Oeste -0.7581682 -30.024251 28.507914 0.9999914
## Sul-Centro_Oeste 1.9481439 -29.662838 33.559126 0.9997287
## Norte-Nordeste -16.0036316 -36.861471 4.854207 0.1900683
## Sudeste-Nordeste 14.7403773 -10.131010 39.611765 0.4212923
## Sul-Nordeste 17.4466894 -10.145638 45.039017 0.3585918
## Sudeste-Norte 30.7440089 4.802399 56.685619 0.0150174
## Sul-Norte 33.4503210 4.889549 62.011093 0.0164872
## Sul-Sudeste 2.7063121 -28.904670 34.317294 0.9990069
anova_prop_pop_aten_esgo_sani <- aov(prop_pop_aten_esgo_sani ~ regiao, data = df_estadual)
summary(anova_prop_pop_aten_esgo_sani)
## Df Sum Sq Mean Sq F value Pr(>F)
## regiao 4 10008 2502.0 8.492 0.000266 ***
## Residuals 22 6482 294.6
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(anova_prop_pop_aten_esgo_sani)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = prop_pop_aten_esgo_sani ~ regiao, data = df_estadual)
##
## $regiao
## diff lwr upr p adj
## Nordeste-Centro_Oeste -32.454963 -63.058265 -1.851661 0.0340952
## Norte-Centro_Oeste -38.928025 -70.848194 -7.007855 0.0119038
## Sudeste-Centro_Oeste 13.142687 -22.868120 49.153495 0.8132982
## Sul-Centro_Oeste -13.764029 -52.660147 25.132089 0.8293967
## Norte-Nordeste -6.473062 -32.137843 19.191720 0.9424413
## Sudeste-Nordeste 45.597650 14.994349 76.200952 0.0018217
## Sul-Nordeste 18.690934 -15.260381 52.642249 0.4929996
## Sudeste-Norte 52.070712 20.150543 83.990881 0.0006724
## Sul-Norte 25.163996 -9.978954 60.306945 0.2453926
## Sul-Sudeste -26.906716 -65.802834 11.989402 0.2753395
Ao analisar a proporção da população atendida com abastecimento de água, notou-se que a região Norte apresentou cobertura média para este serviço significativamente menor em comparação às regiões Sul, Sudeste e Centro-Oeste. Da mesma forma, os valores médios para a proporção da população atendida com esgotamento sanitário na região Norte também foram significativamente inferiores aos observados nas regiões Sul e Sudeste. Adicionalmente, a região Sudeste registrou valores médios significativamente superiores em comparação à região Nordeste. Esses achados corroboram as observações feitas ao longo deste estudo, destacando a urgente necessidade de melhorias nas condições de saneamento básico nas regiões Norte e Nordeste, que enfrentam desafios mais acentuados com a falta de abastecimento de água e serviços de esgotamento sanitário.
Finalmente, a seguir é apresentado um gráfico de bolhas interativo, no qual os eixos x e y representam, respectivamente, a proporção da população atendida com abastecimento de água e com esgotamento sanitário. O tamanho das bolhas indica a população de cada estado, enquanto as cores diferenciam as regiões. Esta figura oferece uma visão abrangente da situação do saneamento no Brasil para o ano de 2019. No próximo segmento, concluiremos este projeto com as principais conclusões.fig <- plot_ly(df_estadual, x = ~prop_pop_aten_abas_agua, y = ~prop_pop_aten_esgo_sani, text = ~estado, type = 'scatter', mode = 'markers', size = ~populacao, color = ~regiao, colors = 'Dark2',
#Choosing the range of the bubbles' sizes:
sizes = c(10, 50),
marker = list(opacity = 0.5, sizemode = 'diameter'))
fig <- fig %>%
layout(title = '<b>Proporção da População Atentida com Abastecimento de Água e Esgotamento Sanitário</b>',
plot_bgcolor = '#DEDEDE',
xaxis = list(title = '<b>População Atendida com Abastecimento de Água (%)</b>',
range = c(0, 100),
showgrid = FALSE,
mirror=TRUE,
ticks='outside',
showline=TRUE),
yaxis = list(title = '<b>População Atendida com Esgotamento Sanitário (%)</b>',
range = c(0, 100),
showgrid = FALSE,
mirror=TRUE,
ticks='outside',
showline=TRUE),
showlegend = TRUE,
legend = list(title = list(text = '<b>Região</b>'),
font = list(size = 7),
titlefont = list(size = 8),
x = 0.03, y = 0.95),
margin = list(l = 50, r = 50, b = 40, t = 80),
paper_bgcolor = 'white',
plot_bgcolor = 'white',
hovermode = 'closest')
fig
A análise exploratória dos dados de saneamento nos diversos estados do Brasil revelou discrepâncias significativas em termos de acesso e qualidade dos serviços de abastecimento de água e esgotamento sanitário. Este estudo destacou as variações regionais profundas que persistem apesar dos avanços em algumas áreas.
O abastecimento de água mostra-se relativamente mais uniforme em termos de cobertura entre os estados, com alguns alcançando 100% de cobertura nos municípios. No entanto, o esgotamento sanitário apresenta uma realidade diferente, com uma divisão regional significativa. Enquanto o Sudeste exibe uma infraestrutura de saneamento mais desenvolvida, o Norte e o Nordeste enfrentam desafios substanciais, com coberturas muitas vezes inferiores a 10% da população atendida.
Os dados apontam para uma necessidade urgente de políticas públicas e investimentos direcionados que melhorem a infraestrutura de saneamento nas regiões mais carentes. Investimentos são necessários tanto para a melhoria da rede de distribuição de água — a fim de reduzir perdas significativas durante a distribuição — quanto para ampliar e melhorar as facilidades de tratamento de esgoto.
Estados com maiores receitas operacionais, como São Paulo, exibem uma gestão e infraestrutura de saneamento mais maduras. Por outro lado, estados com receitas operacionais menores, particularmente no Norte e Nordeste, evidenciam desafios de infraestrutura inadequada e capacidade de cobrança limitada. Isso reforça a necessidade de estratégias adaptadas às realidades econômicas e demográficas de cada estado.
A diferença entre a água tratada e a água consumida em muitos estados sugere perdas significativas dentro dos sistemas de distribuição, um problema agravado por infraestruturas antigas ou mal mantidas.
A discrepância entre a água consumida e esgoto tratado em muitos estados destaca desafios críticos no setor de saneamento, onde o tratamento de esgoto não está em par com o consumo, levantando preocupações ambientais e de saúde pública.
As políticas públicas nacionais e regionais devem levar em conta essas disparidades ao planejar melhorias e a alocação de recursos, visando garantir um acesso equitativo a esses serviços essenciais.
Em suma, este estudo revela a importância de uma abordagem segmentada e bem informada para resolver os problemas de saneamento no Brasil. Com foco nas áreas mais necessitadas e na otimização dos recursos existentes, é possível avançar significativamente na direção de um acesso mais universal e equitativo aos serviços de saneamento básico.